<exampleAINetIterface>
	<inputSummary>
		Add 0 or more nodes. Change any numbers in any nodes (within certain limits).
		Run the network's main execute function, which may leave the network in a stable state or not.
		The main function does nothing if the network is in a stable state.
		Adding nodes or changing numbers usually puts the network in an unstable state.
		If the network state is stable or not is deterministic and the measure of that never changes.
	</inputSummary>
	
	/** Nodes are always sorted by their first double,
	so that must not change while they are in this SortedSet<Node>.
	Comparator<Node>s must never return 0, even if the doubles are equal,
	so Nodes with equal first doubles can simultaneously be in the same Net.
	Because the doubles are equal, their order does not matter.
	TODO: verify this does not cause sorting errors.  
	*/
	public SortedSet<Node> sortedNodes();

	/** TODO: How does the fNoder know and use theNode.childs().size()? */
	public fNoder nodeAction();

	/** A node's number of doubles must always equal thisFunc(nodes number of child nodes).
	For example, a bayesian node has at least Math.pow(2,childs().size()-1) doubles.
	It can be any deterministic and fast function
	that returns nondecreasing ints as childs().size() increases.
	*/
	public fI nodeWeightsSize();

	/** returns a function that can be used to add a Node to this Net,
	and that should not be done any other way.
	*/
	public fNetNoder nodeAdd();

	/** returns a function that can be used to remove a Node from this Net,
	and that should not be done any other way.
	*/
	public fNetNoder nodeDelete();

	/** fNode2r(x,y) adds y to the end of x's child list.
	Because nodes are defined as symmetric between all childs,
	adding at the end has the same effect as adding at any other index.
	*/ 
	public fNode2r nodeChildAdd();

	/** Function that deletes a child node from another node, specified by index of that node. */
	public fNodeIr nodeChildDelete();

	/** minimum possible node.childs().size() */
	public int nodeChildsSizeMin();

	/** maximum possible node.childs().size() */
	public int nodeChildsSizeMax();	
	
</exampleAINetIterface>